/**
 * SPRINGBACK
 * A Java implementation of the Formspring API.
 * 
 * Distributed under the MIT License. See LICENSE for more information.
 */
package com.mattsfarmer.springback;

import org.simpleframework.xml.Element;
import org.simpleframework.xml.Root;

/**
 * This class represents a Formspring User.
 * @author Matt Farmer
 * @version 1.0
 */
@Root(name="profile")
public class FormspringPerson {
	///////
	// CLASS MEMBERS
	//////
	@Element(required=false)
	private String username;
	
	@Element(required=false)
	private String name;
	
	@Element(required=false)
	private String website;
	
	@Element(required=false)
	private String location;
	
	@Element(required=false)
	private String bio;
	
	@Element(required=false)
	private String photo_url;
	
	@Element(required=false)
	private int answered_count;
	
	@Element(required=false)
	private boolean is_following;
	
	@Element(required=false)
	private int inbox_count;
	
	@Element(required=false)
	private int follow_count;

	@Element(required=false)
	private int accept_anonymous;
	
	@Element(required=false, name="protected")
	private int protected_profile;
	
	@Element(required=false)
	private int taking_questions;
	
	@Element(required=false)
	private FormspringServices services;
	
	//////
	// CLASS METHODS
	//////
	
	/**
	 * Default constructor.
	 */
	public FormspringPerson() {
		//default values.
		answered_count = 0;
		is_following = false;
	}

	/**
	 * @return the username
	 */
	public String getUsername() {
		return username;
	}


	/**
	 * @return the name
	 */
	public String getName() {
		return name;
	}


	/**
	 * @return the website
	 */
	public String getWebsite() {
		return website;
	}


	/**
	 * @return the location
	 */
	public String getLocation() {
		return location;
	}


	/**
	 * @return the bio
	 */
	public String getBio() {
		return bio;
	}


	/**
	 * @return the photo_url
	 */
	public String getPhotourl() {
		return photo_url;
	}


	/**
	 * @return the answered_count
	 */
	public int getAnsweredcount() {
		return answered_count;
	}


	/**
	 * @return the is_following
	 */
	public boolean getIsFollowing() {
		return is_following;
	}

	/**
	 * @param is_following the is_following to set
	 */
	public void setIsfollowing(boolean isfollowing) {
		this.is_following = isfollowing;
	}

	/**
	 * @param username the username to set
	 */
	public void setUsername(String username) {
		this.username = username;
	}

	/**
	 * @param name the name to set
	 */
	public void setName(String name) {
		this.name = name;
	}

	/**
	 * @param website the website to set
	 */
	public void setWebsite(String website) {
		this.website = website;
	}

	/**
	 * @param location the location to set
	 */
	public void setLocation(String location) {
		this.location = location;
	}

	/**
	 * @param bio the bio to set
	 */
	public void setBio(String bio) {
		this.bio = bio;
	}

	/**
	 * @param photo_url the photo_url to set
	 */
	public void setPhotourl(String photourl) {
		this.photo_url = photourl;
	}

	/**
	 * @param answered_count the answered_count to set
	 */
	public void setAnsweredcount(int answeredcount) {
		this.answered_count = answeredcount;
	}

	/**
	 * @return the accept_anonymous
	 */
	public int getAccept_anonymous() {
		return accept_anonymous;
	}

	/**
	 * @param accept_anonymous the accept_anonymous to set
	 */
	public void setAccept_anonymous(int accept_anonymous) {
		this.accept_anonymous = accept_anonymous;
	}

	/**
	 * @return the protected_profile
	 */
	public int getProtected_profile() {
		return protected_profile;
	}

	/**
	 * @param protected_profile the protected_profile to set
	 */
	public void setProtected_profile(int protected_profile) {
		this.protected_profile = protected_profile;
	}

	/**
	 * @return the taking_questions
	 */
	public int getTaking_questions() {
		return taking_questions;
	}

	/**
	 * @param taking_questions the taking_questions to set
	 */
	public void setTaking_questions(int taking_questions) {
		this.taking_questions = taking_questions;
	}

	/**
	 * @return the services
	 */
	public FormspringServices getServices() {
		return services;
	}

	/**
	 * @param services the services to set
	 */
	public void setServices(FormspringServices services) {
		this.services = services;
	}

	/**
	 * @return the inbox_count
	 */
	public int getInbox_count() {
		return inbox_count;
	}

	/**
	 * @param inbox_count the inbox_count to set
	 */
	public void setInbox_count(int inbox_count) {
		this.inbox_count = inbox_count;
	}
	/**
	 * @return the follow_count
	 */
	public int getFollow_count() {
		return follow_count;
	}

	/**
	 * @param follow_count the follow_count to set
	 */
	public void setFollow_count(int follow_count) {
		this.follow_count = follow_count;
	}
}
